<?php
class Municipios {
    private $codigo;
    private $nome;
    private $uf;
    function __construct($codigo=null, $nome=null, $uf=null) {
        if($codigo === null){
            $this->setAtributos(0,'','');
        }else if( ($codigo !== null) && ($uf === null) ){
            $this->Carrega($codigo);
        }else{
            $this->setAtributos($codigo, $nome, $uf);
        }
    }
    
    public function setAtributos($codigo=null,$nome=null,$uf=null){
        $this->setCodigo($codigo)
            ->setNome($nome)
            ->setUf($uf);
    }
    
    public function Carrega($codigo){
        $conn = new DB_Config();
        $query = ("
            SELECT 
                codigo,
                nome,
                uf
            FROM 
                municipios
            WHERE
                codigo = '$codigo'
        ");
        list($codigo,$nome,$uf) = $conn->Query($query)->FetchRow();
        $this->setAtributos($codigo, $nome, $uf);
    }

    public function getCodigo() {
        return $this->codigo;
    }

    public function setCodigo($codigo) {
        $this->codigo = $codigo;
        return $this;
    }

    public function getNome() {
        return utf8_encode($this->nome);
    }

    public function setNome($nome) {
        $this->nome = $nome;
        return $this;
    }

    public function getUf() {
        return $this->uf;
    }

    public function setUf($uf) {
        $this->uf = $uf;
        return $this;
    }

    public static function listaUfMunicipio($extra=null){
        $conn = new DB_Config();
        $query = ("SELECT codigo FROM municipios ".$extra);
        $resultado = $conn->Query($query);		
        while($dados = $resultado->FetchObject()){
                $lista[] = new Municipios($dados->codigo);
        }
        return $lista;
    }
}
?>
